package model;

/**
 * Klasse voor ontvangen en versturen van berichten.
 * @author Marvin
 * @author Yasper
 * @since v1.0
 */

public class Bericht {
	private int ID;
	private String titel, omschrijving;
	private boolean nieuw, ontvangerVerwijderd, verzenderVerwijderd;
	private Persoon ontvanger, verzender;
	private String datum;
	
	/**
	 * @param verzender Gebruiker die bericht stuurt
	 * @param ontvanger Gebruiker die bericht ontvangt
	 * @param omschrijving Het bericht zelf
	 * @param titel De titel van het bericht
	 * @param datum De datum waarop het bericht is verstuurd
	 * @param nieuw Of het bericht al geopend is of niet.
	 * @param ontvDeleted Is bericht verwijdert?
	 * @param verzDeleted Is bericht verstuurd?
	 */
		
	public Bericht( Persoon verzender,Persoon ontvanger, String omschrijving, String titel, String datum, boolean nieuw, boolean ontvDeleted, boolean verzDeleted){
		this.ontvanger = ontvanger;
		this.verzender = verzender;
		this.titel = titel;
		this.omschrijving = omschrijving;
		this.setDatum(datum);
		this.nieuw = nieuw;
		setOntvangerVerwijderd(ontvDeleted);
		setVerzenderVerwijderd(verzDeleted);
	}

	/**
	 * Geeft het ID-nummer van het bericht terug.
	 * @author Yasper
	 * @return the iD
	 */
	public int getID() {
		return ID;
	}
	
	/**
	 * Geeft de titel van het bericht terug.
	 * @author Yasper
	 * @return the titel
	 */
	public String getTitel() {
		return titel;
	}

	/**
	 * Geeft de omschrijving van het bericht terug.
	 * @author Yasper
	 * @return the omschrijving
	 */
	public String getOmschrijving() {
		return omschrijving;
	}
	
	/**
	 * Geeft de ontvanger van het bericht terug.
	 * @author Yasper
	 * @return the ontvanger
	 */
	public Persoon getOntvanger() {
		return ontvanger;
	}
	
	/**
	 * Geeft de verzender van het bericht terug.
	 * @author Yasper
	 * @return the verzender
	 */
	public Persoon getVerzender() {
		return verzender;
	}
	
	/**
	 * Geeft de datum van het bericht terug.
	 * @author Yasper
	 * @return the datum
	 */
	public String getDatum() {
		return datum;
	}
	
	/**
	 * geeft aan of het bericht verwijderd is door de ontvanger, of niet.
	 * @author Yasper
	 * @return the ontvangerDeleted
	 */
	public boolean isOntvangerDeleted() {
		return ontvangerVerwijderd;
	}
	
	/**
	 * geeft aan of het bericht verwijderd is door de verzender, of niet.
	 * @author Yasper
	 * @return the verzenderDeleted
	 */
	public boolean isVerzenderDeleted() {
		return verzenderVerwijderd;
	}
	

	
	/**
	 * geeft aan of het bericht nieuw is, of niet.
	 * @author Yasper
	 * @return the verzenderDeleted
	 */
	public boolean isNieuw() {
		return nieuw;
	}
	
	
	
	/**
	 * Verandert het iD van het Bericht naar de meegegeven int.
	 * @author Yasper
	 * @param iD the iD to set
	 */
	public void setID(int iD) {
		ID = iD;
	}
	
	/**
	 * Verandert de titel van het Bericht naar de meegegeven String.
	 * @author Yasper
	 * @param titel the titel to set
	 */
	public void setTitel(String titel) {
		this.titel = titel;
	}
	
	/**Verandert de omschrijving van het Bericht naar de megegeven String.
	 * @author Yasper
	 * @param omschrijving the omschrijving to set
	 */
	public void setOmschrijving(String omschrijving) {
		this.omschrijving = omschrijving;
	}
	
	/**
	 * Verandert de ontvanger van het Bericht naar de megegeven Persoon.
	 * @author Yasper
	 * @param ontvanger the ontvanger to set
	 */
	public void setOntvanger(Persoon ontvanger) {
		this.ontvanger = ontvanger;
	}


	/**
	 * Verandert de verzender van het Bericht naar de megegeven Persoon.
	 * @author Yasper
	 * @param verzender the verzender to set
	 */
	public void setVerzender(Persoon verzender) {
		this.verzender = verzender;
	}

	/**
	 * Verandert de datum van het Bericht naar de megegeven String.
	 * @author Yasper
	 * @param datum the datum to set
	 */
	public void setDatum(String datum) {
		this.datum = datum;
	}



	/**
	 * Verandert boolean ontvangerVerwijderd naar de megegeven boolean.
	 * @author Yasper
	 * @param ontvangerDeleted the ontvangerDeleted to set
	 */
	public void setOntvangerVerwijderd(boolean ontvangerDeleted) {
		this.ontvangerVerwijderd= ontvangerDeleted;
	}


	/**
	 * Verandert boolean verzenderVerwijderd naar de megegeven boolean.
	 * @author Yasper
	 * @param verzenderVerwijderd the verzenderVerwijderd to set
	 */
	public void setVerzenderVerwijderd(boolean verzenderVerwijderd) {
		this.verzenderVerwijderd = verzenderVerwijderd;
	}

	/**
	 * Verandert boolean nieuw naar de megegeven boolean.
	 * @author Yasper
	 * @param verzenderVerwijderd the verzenderVerwijderd to set
	 */
	public void setNieuw(boolean m_nieuw) {
		this.nieuw = m_nieuw;
	}
}
